"""
try:
    可能发生异常的代码
except:
    处理异常的代码
else:
    没有发生异常，except不满足执行else
finally:
    不管有没有异常，最终都要执行
====================================
try:
    执行更新数据库(增删改)的sql语句
except:
   有异常，回滚事务
else:
    没有异常，提交事务
finally:
    关闭游标和连接对象
"""
# 1.导入pymysql
import pymysql

# 2.建立连接
conn = pymysql.connect(host='211.103.136.244', port=7061,
                       user='student', password='iHRM_student_2021',
                       database='test_db', charset='utf8')

# 3.获取游标
cursor = conn.cursor()

try:
    # 执行sql语句
    # insert into t_book(id, title, pub_date) values(4, '西游记', '1986-01-01');
    n = cursor.execute("insert into t_book(id, title, pub_date) values(4, '西游记', '1986-01-01');")
    print(n)
except Exception as e:
    print('e = ', e)
    # 有异常，回滚事务
    conn.rollback()
else:
    print('没有异常，提交事务')
    # 没有异常，提交事务
    conn.commit()
finally:
    # 关闭游标和连接对象
    print('关闭游标和连接对象')
    cursor.close()
    conn.close()
